home *** CD-ROM | disk | FTP | other *** search
- //ws_except.js
- var ERR_GET_MODULE_PARSER = "Error: Cannot get Parser object for Sandbox ",
- HTML_TABLE_HEADER = '<table width="100%" border="1" bgcolor="#D2D2D2">',
- HTML_TABLE_TRAILER = "</table>",
- HTML_TABLE_LABEL_HEADER1 = "<table width=100% border=0 cellspacing=0 cellpadding=0><tr bgcolor=",
- HTML_TABLE_LABEL_HEADER2 = "><td height=25 align=middle><font color=black><B>",
- HTML_TABLE_LABEL_TRAILER = "</B></font></td></tr></table>",
- HTML_ROW_HEADER = "<TR>",
- HTML_ROW_TRAILER = "</TR>",
- HTML_HEADER_HEADER = '<TH style="font-face:bold;font-size:8pt;">',
- HTML_HEADER_TRAILER = "</TH>",
- HTML_CELL_HEADER = "<TD align=center>",
- HTML_CELL_TRAILER = "</TD>",
- HTML_ID_LINK_HEADER = '<A href=# onclick=\'',
- HTML_ID_LINK_TRAILER = '</A>',
- HTML_INSERT_EXCEPTION = '<IMG src="ico-plus.gif" align=absMiddle alt = "Insert application/group"/> Insert application/group',
- HTML_ICO_MINUS = '<IMG src="ico-minus.gif" alt="Delete exception"/>',
- HTML_SELECT_HEADER = '<SELECT ',
- HTML_SELECT_TRAILER = '></SELECT>',
- HTML_EDIT_HEADER = '<INPUT type=edit ',
- HTML_DISABLED = 'disabled';
-
- var NO_COLUMNS = 11;
-
- var TXT_PRO_HIGH_MASTER = "Common exceptions",
- TXT_CLIENT = "Medium Priority List - Non-Privileged user Defined",
- TXT_PRO_LOW_MASTER = "Low Priority List - Common exceptions",
- TXT_DELETING = "Deleting exception",
- TXT_QST_REALLYDELETE1 = 'Do you really want to delete ',
- TXT_QST_REALLYDELETE2 = ' from the list of active guards?',
- TXT_NEW_EXC_APP = 'Enter app./group',
-
- // columns
- TXT_APP_CAPTION = "Guards active for the application or group",
- TXT_FIL_CAPTION = "File",
- TXT_SRV_GUARD = "Service",
- TXT_REG_GUARD = "Registry",
- TXT_SPW_GUARD = "Spawning",
- TXT_DEV_GUARD = "Device",
- TXT_VBA_GUARD = "VBA macro",
- TXT_COM_GUARD = "COM object",
- TXT_SPR_GUARD = "System privilege",
- TXT_DPR_GUARD = "Device privilege",
- TXT_ASSIGNMENT = "Assignment";
-
- var GUARD_FILE = 0x00000001,
- GUARD_SERVICE = 0x00000002,
- GUARD_REGISTRY = 0x00000004,
- GUARD_SPAWNING = 0x00000008,
- GUARD_DEVICE = 0x00000010,
- GUARD_VBAMACRO = 0x00000020,
- GUARD_COMOBJECT = 0x00000040,
- GUARD_SYSTEMPRIV = 0x00000080,
- GUARD_DEVICEPRIV = 0x00000100;
-
- var PRIOR_LOW = 0,
- PRIOR_NORMAL = 1,
- PRIOR_HIGH = 2;
-
- var iContext = 0;
- var ctrlAsgnmt = null;
- var strAsgnmt = "";
-
- var enter_pressed = 0;
-
- var strHeaders = new Array(NO_COLUMNS),
- strDisabled = new Array(3);
-
- strHeaders[0] = TXT_APP_CAPTION;
- strHeaders[1] = TXT_FIL_CAPTION;
- strHeaders[2] = TXT_SRV_GUARD;
- strHeaders[3] = TXT_REG_GUARD;
- strHeaders[4] = TXT_SPW_GUARD;
- strHeaders[5] = TXT_DEV_GUARD;
- strHeaders[6] = TXT_VBA_GUARD;
- strHeaders[7] = TXT_COM_GUARD;
- strHeaders[8] = TXT_SPR_GUARD;
- strHeaders[9] = TXT_DPR_GUARD;
- strHeaders[10] = TXT_ASSIGNMENT;
-
- var arrExcept = new Array(),
- arrLabelTypes = new Array(),
- arrExceptIndex = 0;
-
- var ServerParser, ClientParser, ServerAppParser, ClientAppParser;
-
- function SetAssignment(str)
- {
- strAsgnmt = str;
- try
- {
- if (window.external.Context == 1)
- {
- ctrlAsgnmt = new ActiveXObject("cfgasgnmt.cfgasgnmtCtrl");
- ctrlAsgnmt.SetAssignment(str);
- }
- } catch (e)
- {
- // this is home edition - ctrlAsgnmt does not exist
- }
- _excList.innerHTML = GetExceptionList();
- }
-
- function GetExceptionList()
- {
- iContext = window.external.Context;
-
- var Option, OptList, strExcepts;
- strExcepts = "";
- // strExcepts += "<table width=100% border=0 cellspacing=0 cellpadding=0><tr bgcolor=#7aa1e6><td height=25 align=middle><font color=white><B>" + TXT_PRO_HIGH_MASTER + "</B></font></td></tr></table>"
- // strExcepts += HTML_TABLE_LABEL_HEADER1 + "#FFFFFF" + HTML_TABLE_LABEL_HEADER2 + TXT_PRO_HIGH_MASTER + HTML_TABLE_LABEL_TRAILER;
-
- try
- {
- ServerParser = window.external.ServerParser(1) ;
- ClientParser = window.external.ClientParser(1) ;
- ServerAppParser = window.external.ServerParser(64) ;
- ClientAppParser = window.external.ClientParser(64) ;
- } catch(e)
- {
- return "Cannot get parser";
- }
- if (!window.external.IsAdmin)
- {
- strDisabled[PRIOR_HIGH] = HTML_DISABLED;
- strDisabled[PRIOR_LOW] = HTML_DISABLED;
- }
- strDisabled[PRIOR_NORMAL] = "";
-
- if (ServerParser != null)
- strExcepts += GetExcListSingleParser(ServerParser, PRIOR_HIGH, "Server") + "<BR/><BR/>";
-
- // strExcepts += HTML_TABLE_LABEL_HEADER1 + "#7aa1e6" + HTML_TABLE_LABEL_HEADER2 + TXT_CLIENT + HTML_TABLE_LABEL_TRAILER;
- // strExcepts += GetExcListSingleParser(ClientParser, PRIOR_NORMAL, "Client") + "<BR/><BR/>";
-
- // strExcepts += HTML_TABLE_LABEL_HEADER1 + "#01088b" + HTML_TABLE_LABEL_HEADER2 + TXT_PRO_LOW_MASTER + HTML_TABLE_LABEL_TRAILER;
- // strExcepts += GetExcListSingleParser(ServerParser, PRIOR_LOW, "Server")
- //add apply button
- //strExcepts += '<p align="center"><input type="Image" src="update.gif" value="Apply" id=Apply onclick="OnApply()"></p></form>';
- return strExcepts;
- }
-
- function GetExcListSingleParser(Parser, prio, ParserName)
- {
- var strRetVal = '<table width="100%" border="0" bgcolor="#f7f3ef"><tr><td><A href="#" style="color: Black; text-decoration: none;" onclick="OnAdd(' + prio + ')">' + HTML_INSERT_EXCEPTION + '</A></td></tr></table>';
- strRetVal += HTML_TABLE_HEADER;
- if (Parser == null)
- {
- strRetVal = ERR_GET_MODULE_PARSER + "(" + ParserName + ")";
- return strRetVal;
- }
- strRetVal += HTML_ROW_HEADER;
- var i;
- for (i = 0; i < NO_COLUMNS; i++) {
- strRetVal += HTML_HEADER_HEADER + strHeaders[i] + HTML_HEADER_TRAILER;
- }
- strRetVal += HTML_ROW_TRAILER;
- ExcList = new Enumerator(Parser.AppExceptionList);
- ExcList.moveFirst();
- i = arrExcept.length;
- while (!ExcList.atEnd())
- {
- //add option to array
- var except = ExcList.item();
- if (except.Priority == prio)
- {
- arrExcept[i++] = except;
- strRetVal += GetExceptStr(except, prio, arrExceptIndex++);
- }
- ExcList.moveNext(); //Get next exception
- }
- strRetVal += HTML_TABLE_TRAILER;
- return strRetVal;
- }
-
- function GetExceptStr(appExcept, prio, index)
- {
- var strApp = HTML_ROW_HEADER;
- var strAppName = appExcept.Application;
-
- var excAsgnmt = appExcept.Assignment;
-
- switch (iContext)
- {
- case 0:
- excAsgnmt = excAsgnmt.toLowerCase( );
- if (excAsgnmt != "*" && strAsgnmt != "All@" &&
- excAsgnmt.indexOf(strAsgnmt.toLowerCase( )) == -1)
- {
- return "";
- }
- break;
- case 1:
- if (!ctrlAsgnmt.CheckRule(excAsgnmt))
- {
- return "";
- }
- break;
- }
-
-
- if (strAppName == '')
- {
- strApp += HTML_CELL_HEADER +
- GetLabelListHtmlStr('SELECT_' + index, strAppName, index) +
- HTML_CELL_TRAILER;
- appExcept.Application = '*';
- } else
- {
- strApp += HTML_CELL_HEADER + HTML_ID_LINK_HEADER;
- if (strDisabled[prio] == "")
- strApp += 'this.outerHTML=GetLabelListHtmlStr("SELECT_' + index +
- '","' + strAppName + '",' + index +')\' ';
- else
- strApp += '\'';
- strApp += strDisabled[prio] + '>' + strAppName + HTML_ID_LINK_TRAILER +
- HTML_CELL_TRAILER;
- }
-
- var lGuards = appExcept.ActiveGuards;
- for (i = GUARD_FILE; i <= GUARD_DEVICEPRIV; i *= 2)
- {
- var strGuard = ((lGuards & i) > 0) ? " checked=1 " : "";
- strApp += HTML_CELL_HEADER + "<INPUT type=checkbox " + strGuard + 'onclick="OnGuardChange(' + index + "," + i + ')" ' + strDisabled[prio] + "></INPUT>" + HTML_CELL_TRAILER;
- }
- strApp += HTML_CELL_HEADER + HTML_EDIT_HEADER + 'onchange="OnAsgnmtChange(' + index + ',this.value);" value="';
- strApp += appExcept.Assignment + '" />' + HTML_CELL_TRAILER;
- strApp += HTML_CELL_HEADER +
- '<A href="#" onclick="OnDelete(' + prio + ',' + index + ')">' + HTML_ICO_MINUS +
- HTML_CELL_TRAILER;
-
- strApp += HTML_ROW_TRAILER;
- return strApp;
- }
-
- function OnGuardChange(index, guard)
- {
- try
- {
- var appExcept = arrExcept[index];
- var mask = appExcept.ActiveGuards;
- mask ^= guard;
- appExcept.ActiveGuards = mask;
- } catch(e)
- {
- alert("Access violation");
- }
- }
-
- function OnAdd(priority)
- {
- var Parser;
- switch (priority)
- {
- case PRIOR_HIGH:
- case PRIOR_LOW:
- Parser = ServerParser;
- break;
- case PRIOR_NORMAL:
- Parser = ClientParser;
- }
-
- try
- {
- var excList = Parser.AppExceptionList;
- var newExc = excList.CreateAppException();
- newExc.Application = '';
- newExc.Priority = priority;
- excList.Insert(newExc);
- } catch (e)
- {
- alert("Access violation");
- }
- window.location.reload(true);
- }
-
- function OnDelete(priority, index)
- {
- var arg = new Array(2);
- arg[0] = TXT_QST_REALLYDELETE1 + '"' + arrExcept[index].Application + '"' +
- TXT_QST_REALLYDELETE2;
- arg[1] = TXT_DELETING;
- var answer=showModalDialog('question.html', arg, 'dialogWidth=300pt;dialogHeight=100pt;');
- if (answer == 0)
- return;
-
- var Parser;
- switch (priority)
- {
- case PRIOR_HIGH:
- case PRIOR_LOW:
- Parser = ServerParser;
- break;
- case PRIOR_NORMAL:
- Parser = ClientParser;
- }
-
- try
- {
- var excList = Parser.AppExceptionList;
- excList.Remove(arrExcept[index]);
- } catch (e)
- {
- alert("Access violation");
- }
- window.location.reload(true);
- }
-
- function OnAppChange(id, index, value)
- {
- try
- {
- arrExcept[index].Application = value;
- arrExcept[index].AppType = arrLabelTypes[id.selectedIndex];
- } catch (e)
- {
- alert("Access violation");
- }
- }
-
- function OnAsgnmtChange(index, value)
- {
- var appExcept = arrExcept[index];
- try
- {
- appExcept.Assignment = value;
- _excList.innerHTML = GetExceptionList();
- } catch (e)
- {
- alert("Access violation");
- }
- }
-
- function OnKeyDown()
- {
- var k = window.event.keyCode;
- if (13 == k)
- {
- enter_pressed = 1;
- window.event.srcElement.click();
- }
- return k;
- }
-
-